package Demo1;

import javax.print.attribute.standard.PagesPerMinute;

public class Text {
    public static void main13(String[] args) {
        /**
         * length() 求字符串长度
         */
        String str = "abc";
        int n = str.length();
        System.out.println(n);
        System.out.println(str.length());
    }
    public static void main12(String[] args) {
        /**
         * 判断字符串 是否内容为空
         * 空 返回 true 反之 false
         */
        String str = "";
        String str2 = "abcd";
        System.out.println(str.isEmpty());
        System.out.println(str2.isEmpty());
    }
    public static void main11(String[] args) {
        /**
         * trim 去除字符串头尾的 ”（空格）“
         */
        String str = " 2731538103 @ qq.com ";
        System.out.println(str.trim());
    }
    public static void main10(String[] args) {
        //截取字符串
        String str = "2731538103@qq.com";
        System.out.println(str.substring(5));
        System.out.println(str.substring(5,8));//[ 5 , 8)
    }
    public static void main(String[] args) {
        /**
         * split 拆分字符串 并返回字符串数组
         * 可以多输入一个整数 来重载拆分的份数
         */
//        String str = "name=zhangsan&age=18";
//        String[] result = str.split("&");
//        for(int i = 0;i< result.length;i++) {
//            String[] temp = result[i].split("=");
//            System.out.println(temp[0] + temp[1]);
//        }



        String str = "192.168.1,.1";
        String[] ret = str.split("\\. ");
        for (String s: ret) {
            System.out.println(s);
        }
        System.out.println("=============");

        String str3 = "192.168.1.1";
        String[] ret3 = str3.split("\\.",3);
        for (String s: ret3) {
            System.out.println(s);
        }
        /**
         * 遗留问题 怎么用|同时去掉 @ 和 .
         */
        System.out.println("=============");
        String str1 = "2731538103@qq.com";
        String[] ret1 = str1.split("@");
        for(int i = 0;i<ret1.length;i++) {
            String[] s1 = ret1[i].split("\\.");
            for(int j = 0;j <s1.length;j++) {
                System.out.println(s1[j]);
            }
        }
      }


    public static void main8(String[] args) {
        String str = "abc abc abc ab";
        System.out.println(str.replaceFirst(" ", ""));
        //replaceFirst 和 replaceAll 差不多 但只是处理第一个
    }
    public static void main7(String[] args) {
        String str = "abcabcab";
        String str2 = " abc abc abc";
        System.out.println(str.replace("abc", "a"));
        System.out.println(str2.replace(" ", ""));
        System.out.println(str2.replaceAll(" ",""));
        //replaceAll 替换字符串中的字符串/符号
    }
    public static void main6(String[] args) {
        String str1 = "ababababab";
        String str2 = "ab";
        System.out.println(str1.lastIndexOf("ab"));//跟indextOf 差不多 都是查找 但是lastIndexOf 是从后往前查找
        System.out.println(str1.lastIndexOf("ab",5));
    }

    public static void main5(String[] args) {
        String str2 = "abababababab";
        String str3 = new String("abababababab");
        System.out.println(str3.indexOf("ab", 3));//查找字符串在对应的字符串 在就返回下标 否则返回-1
                                                                //主要是查找是否包含 字符串A 是否包含 字符串B 包含就返回第一次 包含的起始位置
    }
    public static void main4(String[] args) {
        String str2 = "abababababab";
        String str3 = new String("ababa");//如果字符串中包含对应的字符串就返回true
        System.out.println(str2.contains(str3));
    }

    public static void main3(String[] args) {
        String str2 = "hello";
        String str3 = new String("abc");
        char[] array = str2.toCharArray();//将字符串转换成数组
        for (char a:array) {
            System.out.println(a);
        }
    }

    public static void main2(String[] args) {
        String str2 = "hello";
        String str3 = new String("abc");
        System.out.println(str3.compareTo(str2));//比较字符串
    }
    public static void main1(String[] args) {
        String str1 = "hello";
        String str2 = "hello";
        String str3 = new String("hello");
        System.out.println(str3 == str1);//直接比较是不可行的
                                            //str1 和 str2 比较是true 是因为 1，2 赋值 都是放在常量池之中
        System.out.println(str1.equals(str2));
    }
}
